Trigger Quay push on oadp-* branch pushes instead of tag pushes#155
Trigger Quay push on oadp-* branch pushes instead of tag pushes#155Joeavaikath merged 2 commits intomigtools:oadp-devfrom
Conversation
Changes the workflow trigger from version tags (v*) to oadp-* branches so that images are pushed when PRs merge into oadp-dev or release branches like oadp-1.6. Uses the branch name as the image version tag. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Joseph <jvaikath@redhat.com>
📝 WalkthroughWalkthroughWorkflow triggers for the Quay.io binary push pipeline were changed from tag-based (v*) to branch-based (oadp-*) pushes; manifest creation/tagging steps were gated with new conditions that distinguish Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related issues
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment Tip CodeRabbit can approve the review once all CodeRabbit's comments are resolved.Enable the |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/quay_binaries_push.yml (1)
94-101:⚠️ Potential issue | 🟠 MajorThe
latesttag may point to dev code instead of the latest stable release.With the new branch-based trigger, any push to any
oadp-*branch updates thelatesttag. This means:
- A push to
oadp-devafter a push tooadp-1.6would makelatestpoint to development code- Users pulling
:latestcould unexpectedly get unstable/dev binariesConsider one of these approaches:
- Only update
latestfor specific release branches (notoadp-dev)- Remove automatic
latesttagging entirely and document that users should use explicit version tags- Add logic to determine the "highest" release branch
🛠️ Proposed fix: Exclude dev branch from latest tag updates
- name: Create and push multi-arch manifest (latest tag) + if: github.ref_name != 'oadp-dev' run: | buildah manifest create ${{ env.IMAGE_REPO }}:latest buildah manifest add ${{ env.IMAGE_REPO }}:latest ${{ env.IMAGE_REPO }}:${{ github.ref_name }}-amd64 buildah manifest add ${{ env.IMAGE_REPO }}:latest ${{ env.IMAGE_REPO }}:${{ github.ref_name }}-arm64 buildah manifest add ${{ env.IMAGE_REPO }}:latest ${{ env.IMAGE_REPO }}:${{ github.ref_name }}-ppc64le buildah manifest add ${{ env.IMAGE_REPO }}:latest ${{ env.IMAGE_REPO }}:${{ github.ref_name }}-s390x buildah manifest push --all ${{ env.IMAGE_REPO }}:latest🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/quay_binaries_push.yml around lines 94 - 101, The workflow currently always creates and pushes a multi-arch manifest tagged as "latest" using buildah (buildah manifest create/add/push and env.IMAGE_REPO with github.ref_name), which can make :latest point to dev branches; update the step that runs the "Create and push multi-arch manifest (latest tag)" commands so it only executes for sanctioned release branches (e.g., add an if condition on the step or job that checks github.ref_name matches your release pattern and excludes "oadp-dev" — for example require startsWith(github.ref_name, 'oadp-') AND github.ref_name != 'oadp-dev' or require a numeric release pattern like regex matching oadp-\\d+), then keep the buildah manifest create/add/push commands unchanged but gated behind that condition (alternatively remove the step entirely if you prefer no automatic latest tagging).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In @.github/workflows/quay_binaries_push.yml:
- Around line 94-101: The workflow currently always creates and pushes a
multi-arch manifest tagged as "latest" using buildah (buildah manifest
create/add/push and env.IMAGE_REPO with github.ref_name), which can make :latest
point to dev branches; update the step that runs the "Create and push multi-arch
manifest (latest tag)" commands so it only executes for sanctioned release
branches (e.g., add an if condition on the step or job that checks
github.ref_name matches your release pattern and excludes "oadp-dev" — for
example require startsWith(github.ref_name, 'oadp-') AND github.ref_name !=
'oadp-dev' or require a numeric release pattern like regex matching oadp-\\d+),
then keep the buildah manifest create/add/push commands unchanged but gated
behind that condition (alternatively remove the step entirely if you prefer no
automatic latest tagging).
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 7cbc24ea-3f81-4042-9fb5-79e7186a96ec
📒 Files selected for processing (1)
.github/workflows/quay_binaries_push.yml
There was a problem hiding this comment.
Pull request overview
Updates the Quay multi-arch binary publish workflow to run on pushes to oadp-* branches instead of release-style v* tags, and aligns the manifest push gating with the new branch naming scheme.
Changes:
- Switch workflow trigger from
push.tags: v*topush.branches: oadp-*. - Update the
push-manifestjob condition to check foroadp-branch names.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Restricts pull_request trigger to oadp-* branches to avoid unnecessary CI runs. Gates push-manifest on event_name == 'push' for clarity. Pushes 'latest' tag only for oadp-dev; other branches get their branch name as the image tag. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Joseph <jvaikath@redhat.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
.github/workflows/quay_binaries_push.yml (1)
87-99: Consider allowingoadp-devto publish both branch-name andlatestmanifests for consistency.Line 88's condition
if: github.ref_name != 'oadp-dev'intentionally excludesoadp-devfrom the branch-name manifest tag, publishing only:latestinstead. While this design choice is documented (otheroadp-*branches receive versioned tags), removing the condition would provide more consistent tagging across all branches—each would get both its branch name and appropriate rolling tags where applicable.The suggested change would make
oadp-devpublish both:oadp-devand:latestmanifests pointing to the same image, improving parity with release branch tagging strategies.Suggested fix
- - name: Create and push multi-arch manifest (version tag) - if: github.ref_name != 'oadp-dev' + - name: Create and push multi-arch manifest (branch tag) run: | buildah manifest create ${{ env.IMAGE_REPO }}:${{ github.ref_name }} buildah manifest add ${{ env.IMAGE_REPO }}:${{ github.ref_name }} ${{ env.IMAGE_REPO }}:${{ github.ref_name }}-amd64 buildah manifest add ${{ env.IMAGE_REPO }}:${{ github.ref_name }} ${{ env.IMAGE_REPO }}:${{ github.ref_name }}-arm64 buildah manifest add ${{ env.IMAGE_REPO }}:${{ github.ref_name }} ${{ env.IMAGE_REPO }}:${{ github.ref_name }}-ppc64le buildah manifest add ${{ env.IMAGE_REPO }}:${{ github.ref_name }} ${{ env.IMAGE_REPO }}:${{ github.ref_name }}-s390x buildah manifest push --all ${{ env.IMAGE_REPO }}:${{ github.ref_name }}🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/quay_binaries_push.yml around lines 87 - 99, The workflow currently skips the "Create and push multi-arch manifest (version tag)" step for the oadp-dev branch via the condition if: github.ref_name != 'oadp-dev'; update the conditions so both manifest steps run for oadp-dev (i.e., allow the "Create and push multi-arch manifest (version tag)" job to run for 'oadp-dev' as well) — adjust or remove the conditional on that step so the "Create and push multi-arch manifest (version tag)" and "Create and push multi-arch manifest (latest tag)" steps both execute for the oadp-dev branch, ensuring both :oadp-dev and :latest manifests are created and pushed.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/quay_binaries_push.yml:
- Around line 4-10: Add a top-level GitHub Actions concurrency stanza to
serialize runs per branch so older runs cannot overwrite newer manifests; for
example, add concurrency: group: "quay-binaries-${{ github.ref_name }}" and
cancel-in-progress: true (so new runs cancel prior in-flight runs) to the
workflow that triggers on the 'oadp-*' branches (the block using the branch
pattern 'oadp-*' and pushing tags like ${{ github.ref_name }} and latest) to
ensure only one build/push for a given branch runs at a time.
---
Nitpick comments:
In @.github/workflows/quay_binaries_push.yml:
- Around line 87-99: The workflow currently skips the "Create and push
multi-arch manifest (version tag)" step for the oadp-dev branch via the
condition if: github.ref_name != 'oadp-dev'; update the conditions so both
manifest steps run for oadp-dev (i.e., allow the "Create and push multi-arch
manifest (version tag)" job to run for 'oadp-dev' as well) — adjust or remove
the conditional on that step so the "Create and push multi-arch manifest
(version tag)" and "Create and push multi-arch manifest (latest tag)" steps both
execute for the oadp-dev branch, ensuring both :oadp-dev and :latest manifests
are created and pushed.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 1dbe60e0-7007-4a8a-9565-1486444fe0d6
📒 Files selected for processing (1)
.github/workflows/quay_binaries_push.yml
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Joeavaikath, kaovilai, shubham-pampattiwar The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Changes the workflow trigger from version tags (v*) to oadp-* branches so that images are pushed when PRs merge into oadp-dev or release branches like oadp-1.6. Uses the branch name as the image version tag.
Why the changes were made
Push to Quay on any push to dev and release branches
How to test the changes made
Check if it works after a PR goes in or release branch is cut
Summary by CodeRabbit